package com.dayangxiaoen.pms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dayangxiaoen.pms.dto.ProductDTO;
import com.dayangxiaoen.pms.dto.SearchDTO;
import com.dayangxiaoen.pms.dto.VerifyResultDTO;
import com.dayangxiaoen.pms.po.Product;
import com.dayangxiaoen.pms.vo.Result;

import java.util.List;

/**
 * @author dayangxiaoen
 */
public interface ProductService extends IService<Product> {

    // 查询所有商品 —— 管理员权限
    Result findAllProduct();

    // 根据商品ID查询详细信息
    Result findDetailProductById(Long id);

    // 添加一个商品
    Result addProductWithProductDTO(ProductDTO productDTO);



    /**
     * 商品手动上线
     * @param id
     * @return
     */
    Result productOnLine(Long id);


    /**
     * 商品手动下线
     * @param id
     * @return
     */
    Result productOffLine(Long id);
    /**
     * 审核结果
     * @param verifyResultDTO
     * @return
     */
    Result updateProductState(VerifyResultDTO verifyResultDTO);


    /**
     * 修改一个商品
     * @param productDTO
     * @return
     */
    Result updateProductWithProductDTO(ProductDTO productDTO);

    /**
     * 对指定商品发起审核
     * @param id
     * @return
     */
    Result productVerify(Long id);

    Result finadAllProductsWithCondition(SearchDTO searchDTO);
}
